package com.weitu.contractor.entity;

import com.weitu.plugin.PageView;

import java.util.ArrayList;
import java.util.List;

/**
 * @author LiMeng
 * date 2017/04/27 13:37
 */
public class StaffTrainCriteria {
    // 排序字段
    protected String orderByClause;

    // 过滤重复数据
    protected boolean distinct;

    // 查询条件
    protected List<Criteria> oredCriteria;

    protected PageView pageView;

    /** 
     * 构造查询条件
     */
    public StaffTrainCriteria() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /** 
     * 设置排序字段
     * @param orderByClause 排序字段
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /** 
     * 获取排序字段
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /** 
     * 设置过滤重复数据
     * @param distinct 是否过滤重复数据
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /** 
     * 是否过滤重复数据
     */
    public boolean isDistinct() {
        return distinct;
    }

    /** 
     * 获取当前的查询条件实例
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /** 
     * 增加或者的查询条件,用于构建或者查询
     * @param criteria 过滤条件实例
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /** 
     * 创建一个新的或者查询条件
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /** 
     * 创建一个查询条件
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /** 
     * 内部构建查询条件对象
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /** 
     * 清除查询条件
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /** 
     *
     * @param pageView
     */
    public void setPageView(PageView pageView) {
        this.pageView=pageView;
    }

    /** 
     *
     */
    public PageView getPageView() {
        return pageView;
    }

    /**
     * 承包商管理_施工人员培训表HSE_CM_TRAIN的基本动态SQL对象.
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition != null) {
                criteria.add(new Criterion(condition));
            }
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value != null) {
                criteria.add(new Criterion(condition, value));
            }
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 != null && value2 != null) {
                criteria.add(new Criterion(condition, value1, value2));
            }
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andDelStateIsNull() {
            addCriterion("delState is null");
            return (Criteria) this;
        }

        public Criteria andDelStateIsNotNull() {
            addCriterion("delState is not null");
            return (Criteria) this;
        }

        public Criteria andDelStateEqualTo(Integer value) {
            addCriterion("delState =", value, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateNotEqualTo(Integer value) {
            addCriterion("delState <>", value, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateGreaterThan(Integer value) {
            addCriterion("delState >", value, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("delState >=", value, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateLessThan(Integer value) {
            addCriterion("delState <", value, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateLessThanOrEqualTo(Integer value) {
            addCriterion("delState <=", value, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateIn(List<Integer> values) {
            addCriterion("delState in", values, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateNotIn(List<Integer> values) {
            addCriterion("delState not in", values, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateBetween(Integer value1, Integer value2) {
            addCriterion("delState between", value1, value2, "delState");
            return (Criteria) this;
        }

        public Criteria andDelStateNotBetween(Integer value1, Integer value2) {
            addCriterion("delState not between", value1, value2, "delState");
            return (Criteria) this;
        }

        public Criteria andAddUserIdIsNull() {
            addCriterion("addUserId is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIdIsNotNull() {
            addCriterion("addUserId is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserIdEqualTo(String value) {
            addCriterion("addUserId =", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdNotEqualTo(String value) {
            addCriterion("addUserId <>", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdGreaterThan(String value) {
            addCriterion("addUserId >", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("addUserId >=", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdLessThan(String value) {
            addCriterion("addUserId <", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdLessThanOrEqualTo(String value) {
            addCriterion("addUserId <=", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdLike(String value) {
            addCriterion("addUserId like", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdNotLike(String value) {
            addCriterion("addUserId not like", value, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdIn(List<String> values) {
            addCriterion("addUserId in", values, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdNotIn(List<String> values) {
            addCriterion("addUserId not in", values, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdBetween(String value1, String value2) {
            addCriterion("addUserId between", value1, value2, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddUserIdNotBetween(String value1, String value2) {
            addCriterion("addUserId not between", value1, value2, "addUserId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdIsNull() {
            addCriterion("addDeptId is null");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdIsNotNull() {
            addCriterion("addDeptId is not null");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdEqualTo(String value) {
            addCriterion("addDeptId =", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdNotEqualTo(String value) {
            addCriterion("addDeptId <>", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdGreaterThan(String value) {
            addCriterion("addDeptId >", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdGreaterThanOrEqualTo(String value) {
            addCriterion("addDeptId >=", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdLessThan(String value) {
            addCriterion("addDeptId <", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdLessThanOrEqualTo(String value) {
            addCriterion("addDeptId <=", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdLike(String value) {
            addCriterion("addDeptId like", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdNotLike(String value) {
            addCriterion("addDeptId not like", value, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdIn(List<String> values) {
            addCriterion("addDeptId in", values, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdNotIn(List<String> values) {
            addCriterion("addDeptId not in", values, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdBetween(String value1, String value2) {
            addCriterion("addDeptId between", value1, value2, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddDeptIdNotBetween(String value1, String value2) {
            addCriterion("addDeptId not between", value1, value2, "addDeptId");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNull() {
            addCriterion("addTime is null");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNotNull() {
            addCriterion("addTime is not null");
            return (Criteria) this;
        }

        public Criteria andAddTimeEqualTo(String value) {
            addCriterion("addTime =", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotEqualTo(String value) {
            addCriterion("addTime <>", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThan(String value) {
            addCriterion("addTime >", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThanOrEqualTo(String value) {
            addCriterion("addTime >=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThan(String value) {
            addCriterion("addTime <", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThanOrEqualTo(String value) {
            addCriterion("addTime <=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLike(String value) {
            addCriterion("addTime like", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotLike(String value) {
            addCriterion("addTime not like", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeIn(List<String> values) {
            addCriterion("addTime in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotIn(List<String> values) {
            addCriterion("addTime not in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeBetween(String value1, String value2) {
            addCriterion("addTime between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotBetween(String value1, String value2) {
            addCriterion("addTime not between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdIsNull() {
            addCriterion("updateDeptId is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdIsNotNull() {
            addCriterion("updateDeptId is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdEqualTo(String value) {
            addCriterion("updateDeptId =", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdNotEqualTo(String value) {
            addCriterion("updateDeptId <>", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdGreaterThan(String value) {
            addCriterion("updateDeptId >", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdGreaterThanOrEqualTo(String value) {
            addCriterion("updateDeptId >=", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdLessThan(String value) {
            addCriterion("updateDeptId <", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdLessThanOrEqualTo(String value) {
            addCriterion("updateDeptId <=", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdLike(String value) {
            addCriterion("updateDeptId like", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdNotLike(String value) {
            addCriterion("updateDeptId not like", value, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdIn(List<String> values) {
            addCriterion("updateDeptId in", values, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdNotIn(List<String> values) {
            addCriterion("updateDeptId not in", values, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdBetween(String value1, String value2) {
            addCriterion("updateDeptId between", value1, value2, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateDeptIdNotBetween(String value1, String value2) {
            addCriterion("updateDeptId not between", value1, value2, "updateDeptId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNull() {
            addCriterion("updateUserId is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNotNull() {
            addCriterion("updateUserId is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdEqualTo(String value) {
            addCriterion("updateUserId =", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotEqualTo(String value) {
            addCriterion("updateUserId <>", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThan(String value) {
            addCriterion("updateUserId >", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("updateUserId >=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThan(String value) {
            addCriterion("updateUserId <", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThanOrEqualTo(String value) {
            addCriterion("updateUserId <=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLike(String value) {
            addCriterion("updateUserId like", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotLike(String value) {
            addCriterion("updateUserId not like", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIn(List<String> values) {
            addCriterion("updateUserId in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotIn(List<String> values) {
            addCriterion("updateUserId not in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdBetween(String value1, String value2) {
            addCriterion("updateUserId between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotBetween(String value1, String value2) {
            addCriterion("updateUserId not between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("updateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("updateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(String value) {
            addCriterion("updateTime =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(String value) {
            addCriterion("updateTime <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(String value) {
            addCriterion("updateTime >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(String value) {
            addCriterion("updateTime >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(String value) {
            addCriterion("updateTime <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(String value) {
            addCriterion("updateTime <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLike(String value) {
            addCriterion("updateTime like", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotLike(String value) {
            addCriterion("updateTime not like", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<String> values) {
            addCriterion("updateTime in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<String> values) {
            addCriterion("updateTime not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(String value1, String value2) {
            addCriterion("updateTime between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(String value1, String value2) {
            addCriterion("updateTime not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andYearIsNull() {
            addCriterion("year is null");
            return (Criteria) this;
        }

        public Criteria andYearIsNotNull() {
            addCriterion("year is not null");
            return (Criteria) this;
        }

        public Criteria andYearEqualTo(Integer value) {
            addCriterion("year =", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotEqualTo(Integer value) {
            addCriterion("year <>", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThan(Integer value) {
            addCriterion("year >", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThanOrEqualTo(Integer value) {
            addCriterion("year >=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThan(Integer value) {
            addCriterion("year <", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThanOrEqualTo(Integer value) {
            addCriterion("year <=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearIn(List<Integer> values) {
            addCriterion("year in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotIn(List<Integer> values) {
            addCriterion("year not in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearBetween(Integer value1, Integer value2) {
            addCriterion("year between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotBetween(Integer value1, Integer value2) {
            addCriterion("year not between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdIsNull() {
            addCriterion("trainTypeId is null");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdIsNotNull() {
            addCriterion("trainTypeId is not null");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdEqualTo(String value) {
            addCriterion("trainTypeId =", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdNotEqualTo(String value) {
            addCriterion("trainTypeId <>", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdGreaterThan(String value) {
            addCriterion("trainTypeId >", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdGreaterThanOrEqualTo(String value) {
            addCriterion("trainTypeId >=", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdLessThan(String value) {
            addCriterion("trainTypeId <", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdLessThanOrEqualTo(String value) {
            addCriterion("trainTypeId <=", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdLike(String value) {
            addCriterion("trainTypeId like", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdNotLike(String value) {
            addCriterion("trainTypeId not like", value, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdIn(List<String> values) {
            addCriterion("trainTypeId in", values, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdNotIn(List<String> values) {
            addCriterion("trainTypeId not in", values, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdBetween(String value1, String value2) {
            addCriterion("trainTypeId between", value1, value2, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainTypeIdNotBetween(String value1, String value2) {
            addCriterion("trainTypeId not between", value1, value2, "trainTypeId");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeIsNull() {
            addCriterion("trainStartTime is null");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeIsNotNull() {
            addCriterion("trainStartTime is not null");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeEqualTo(String value) {
            addCriterion("trainStartTime =", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeNotEqualTo(String value) {
            addCriterion("trainStartTime <>", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeGreaterThan(String value) {
            addCriterion("trainStartTime >", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeGreaterThanOrEqualTo(String value) {
            addCriterion("trainStartTime >=", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeLessThan(String value) {
            addCriterion("trainStartTime <", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeLessThanOrEqualTo(String value) {
            addCriterion("trainStartTime <=", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeLike(String value) {
            addCriterion("trainStartTime like", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeNotLike(String value) {
            addCriterion("trainStartTime not like", value, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeIn(List<String> values) {
            addCriterion("trainStartTime in", values, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeNotIn(List<String> values) {
            addCriterion("trainStartTime not in", values, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeBetween(String value1, String value2) {
            addCriterion("trainStartTime between", value1, value2, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainStartTimeNotBetween(String value1, String value2) {
            addCriterion("trainStartTime not between", value1, value2, "trainStartTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeIsNull() {
            addCriterion("trainEndTime is null");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeIsNotNull() {
            addCriterion("trainEndTime is not null");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeEqualTo(String value) {
            addCriterion("trainEndTime =", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeNotEqualTo(String value) {
            addCriterion("trainEndTime <>", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeGreaterThan(String value) {
            addCriterion("trainEndTime >", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeGreaterThanOrEqualTo(String value) {
            addCriterion("trainEndTime >=", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeLessThan(String value) {
            addCriterion("trainEndTime <", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeLessThanOrEqualTo(String value) {
            addCriterion("trainEndTime <=", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeLike(String value) {
            addCriterion("trainEndTime like", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeNotLike(String value) {
            addCriterion("trainEndTime not like", value, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeIn(List<String> values) {
            addCriterion("trainEndTime in", values, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeNotIn(List<String> values) {
            addCriterion("trainEndTime not in", values, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeBetween(String value1, String value2) {
            addCriterion("trainEndTime between", value1, value2, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andTrainEndTimeNotBetween(String value1, String value2) {
            addCriterion("trainEndTime not between", value1, value2, "trainEndTime");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourIsNull() {
            addCriterion("actualTrainHour is null");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourIsNotNull() {
            addCriterion("actualTrainHour is not null");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourEqualTo(Integer value) {
            addCriterion("actualTrainHour =", value, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourNotEqualTo(Integer value) {
            addCriterion("actualTrainHour <>", value, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourGreaterThan(Integer value) {
            addCriterion("actualTrainHour >", value, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourGreaterThanOrEqualTo(Integer value) {
            addCriterion("actualTrainHour >=", value, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourLessThan(Integer value) {
            addCriterion("actualTrainHour <", value, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourLessThanOrEqualTo(Integer value) {
            addCriterion("actualTrainHour <=", value, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourIn(List<Integer> values) {
            addCriterion("actualTrainHour in", values, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourNotIn(List<Integer> values) {
            addCriterion("actualTrainHour not in", values, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourBetween(Integer value1, Integer value2) {
            addCriterion("actualTrainHour between", value1, value2, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andActualTrainHourNotBetween(Integer value1, Integer value2) {
            addCriterion("actualTrainHour not between", value1, value2, "actualTrainHour");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdIsNull() {
            addCriterion("trainDeptId is null");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdIsNotNull() {
            addCriterion("trainDeptId is not null");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdEqualTo(String value) {
            addCriterion("trainDeptId =", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdNotEqualTo(String value) {
            addCriterion("trainDeptId <>", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdGreaterThan(String value) {
            addCriterion("trainDeptId >", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdGreaterThanOrEqualTo(String value) {
            addCriterion("trainDeptId >=", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdLessThan(String value) {
            addCriterion("trainDeptId <", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdLessThanOrEqualTo(String value) {
            addCriterion("trainDeptId <=", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdLike(String value) {
            addCriterion("trainDeptId like", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdNotLike(String value) {
            addCriterion("trainDeptId not like", value, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdIn(List<String> values) {
            addCriterion("trainDeptId in", values, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdNotIn(List<String> values) {
            addCriterion("trainDeptId not in", values, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdBetween(String value1, String value2) {
            addCriterion("trainDeptId between", value1, value2, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTrainDeptIdNotBetween(String value1, String value2) {
            addCriterion("trainDeptId not between", value1, value2, "trainDeptId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIsNull() {
            addCriterion("teacherId is null");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIsNotNull() {
            addCriterion("teacherId is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherIdEqualTo(String value) {
            addCriterion("teacherId =", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotEqualTo(String value) {
            addCriterion("teacherId <>", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdGreaterThan(String value) {
            addCriterion("teacherId >", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdGreaterThanOrEqualTo(String value) {
            addCriterion("teacherId >=", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdLessThan(String value) {
            addCriterion("teacherId <", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdLessThanOrEqualTo(String value) {
            addCriterion("teacherId <=", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdLike(String value) {
            addCriterion("teacherId like", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotLike(String value) {
            addCriterion("teacherId not like", value, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdIn(List<String> values) {
            addCriterion("teacherId in", values, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotIn(List<String> values) {
            addCriterion("teacherId not in", values, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdBetween(String value1, String value2) {
            addCriterion("teacherId between", value1, value2, "teacherId");
            return (Criteria) this;
        }

        public Criteria andTeacherIdNotBetween(String value1, String value2) {
            addCriterion("teacherId not between", value1, value2, "teacherId");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideIsNull() {
            addCriterion("isTrainOutside is null");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideIsNotNull() {
            addCriterion("isTrainOutside is not null");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideEqualTo(Integer value) {
            addCriterion("isTrainOutside =", value, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideNotEqualTo(Integer value) {
            addCriterion("isTrainOutside <>", value, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideGreaterThan(Integer value) {
            addCriterion("isTrainOutside >", value, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideGreaterThanOrEqualTo(Integer value) {
            addCriterion("isTrainOutside >=", value, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideLessThan(Integer value) {
            addCriterion("isTrainOutside <", value, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideLessThanOrEqualTo(Integer value) {
            addCriterion("isTrainOutside <=", value, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideIn(List<Integer> values) {
            addCriterion("isTrainOutside in", values, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideNotIn(List<Integer> values) {
            addCriterion("isTrainOutside not in", values, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideBetween(Integer value1, Integer value2) {
            addCriterion("isTrainOutside between", value1, value2, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andIsTrainOutsideNotBetween(Integer value1, Integer value2) {
            addCriterion("isTrainOutside not between", value1, value2, "isTrainOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideIsNull() {
            addCriterion("teacherNameOutside is null");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideIsNotNull() {
            addCriterion("teacherNameOutside is not null");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideEqualTo(String value) {
            addCriterion("teacherNameOutside =", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideNotEqualTo(String value) {
            addCriterion("teacherNameOutside <>", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideGreaterThan(String value) {
            addCriterion("teacherNameOutside >", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideGreaterThanOrEqualTo(String value) {
            addCriterion("teacherNameOutside >=", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideLessThan(String value) {
            addCriterion("teacherNameOutside <", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideLessThanOrEqualTo(String value) {
            addCriterion("teacherNameOutside <=", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideLike(String value) {
            addCriterion("teacherNameOutside like", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideNotLike(String value) {
            addCriterion("teacherNameOutside not like", value, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideIn(List<String> values) {
            addCriterion("teacherNameOutside in", values, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideNotIn(List<String> values) {
            addCriterion("teacherNameOutside not in", values, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideBetween(String value1, String value2) {
            addCriterion("teacherNameOutside between", value1, value2, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTeacherNameOutsideNotBetween(String value1, String value2) {
            addCriterion("teacherNameOutside not between", value1, value2, "teacherNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideIsNull() {
            addCriterion("trainDeptNameOutside is null");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideIsNotNull() {
            addCriterion("trainDeptNameOutside is not null");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideEqualTo(String value) {
            addCriterion("trainDeptNameOutside =", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideNotEqualTo(String value) {
            addCriterion("trainDeptNameOutside <>", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideGreaterThan(String value) {
            addCriterion("trainDeptNameOutside >", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideGreaterThanOrEqualTo(String value) {
            addCriterion("trainDeptNameOutside >=", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideLessThan(String value) {
            addCriterion("trainDeptNameOutside <", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideLessThanOrEqualTo(String value) {
            addCriterion("trainDeptNameOutside <=", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideLike(String value) {
            addCriterion("trainDeptNameOutside like", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideNotLike(String value) {
            addCriterion("trainDeptNameOutside not like", value, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideIn(List<String> values) {
            addCriterion("trainDeptNameOutside in", values, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideNotIn(List<String> values) {
            addCriterion("trainDeptNameOutside not in", values, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideBetween(String value1, String value2) {
            addCriterion("trainDeptNameOutside between", value1, value2, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andTrainDeptNameOutsideNotBetween(String value1, String value2) {
            addCriterion("trainDeptNameOutside not between", value1, value2, "trainDeptNameOutside");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateIsNull() {
            addCriterion("needCertificate is null");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateIsNotNull() {
            addCriterion("needCertificate is not null");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateEqualTo(Integer value) {
            addCriterion("needCertificate =", value, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateNotEqualTo(Integer value) {
            addCriterion("needCertificate <>", value, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateGreaterThan(Integer value) {
            addCriterion("needCertificate >", value, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateGreaterThanOrEqualTo(Integer value) {
            addCriterion("needCertificate >=", value, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateLessThan(Integer value) {
            addCriterion("needCertificate <", value, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateLessThanOrEqualTo(Integer value) {
            addCriterion("needCertificate <=", value, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateIn(List<Integer> values) {
            addCriterion("needCertificate in", values, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateNotIn(List<Integer> values) {
            addCriterion("needCertificate not in", values, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateBetween(Integer value1, Integer value2) {
            addCriterion("needCertificate between", value1, value2, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andNeedCertificateNotBetween(Integer value1, Integer value2) {
            addCriterion("needCertificate not between", value1, value2, "needCertificate");
            return (Criteria) this;
        }

        public Criteria andTrainNumIsNull() {
            addCriterion("trainNum is null");
            return (Criteria) this;
        }

        public Criteria andTrainNumIsNotNull() {
            addCriterion("trainNum is not null");
            return (Criteria) this;
        }

        public Criteria andTrainNumEqualTo(Integer value) {
            addCriterion("trainNum =", value, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumNotEqualTo(Integer value) {
            addCriterion("trainNum <>", value, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumGreaterThan(Integer value) {
            addCriterion("trainNum >", value, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("trainNum >=", value, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumLessThan(Integer value) {
            addCriterion("trainNum <", value, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumLessThanOrEqualTo(Integer value) {
            addCriterion("trainNum <=", value, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumIn(List<Integer> values) {
            addCriterion("trainNum in", values, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumNotIn(List<Integer> values) {
            addCriterion("trainNum not in", values, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumBetween(Integer value1, Integer value2) {
            addCriterion("trainNum between", value1, value2, "trainNum");
            return (Criteria) this;
        }

        public Criteria andTrainNumNotBetween(Integer value1, Integer value2) {
            addCriterion("trainNum not between", value1, value2, "trainNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumIsNull() {
            addCriterion("qualifiedNum is null");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumIsNotNull() {
            addCriterion("qualifiedNum is not null");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumEqualTo(Integer value) {
            addCriterion("qualifiedNum =", value, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumNotEqualTo(Integer value) {
            addCriterion("qualifiedNum <>", value, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumGreaterThan(Integer value) {
            addCriterion("qualifiedNum >", value, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("qualifiedNum >=", value, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumLessThan(Integer value) {
            addCriterion("qualifiedNum <", value, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumLessThanOrEqualTo(Integer value) {
            addCriterion("qualifiedNum <=", value, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumIn(List<Integer> values) {
            addCriterion("qualifiedNum in", values, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumNotIn(List<Integer> values) {
            addCriterion("qualifiedNum not in", values, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumBetween(Integer value1, Integer value2) {
            addCriterion("qualifiedNum between", value1, value2, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andQualifiedNumNotBetween(Integer value1, Integer value2) {
            addCriterion("qualifiedNum not between", value1, value2, "qualifiedNum");
            return (Criteria) this;
        }

        public Criteria andTrainContentIsNull() {
            addCriterion("trainContent is null");
            return (Criteria) this;
        }

        public Criteria andTrainContentIsNotNull() {
            addCriterion("trainContent is not null");
            return (Criteria) this;
        }

        public Criteria andTrainContentEqualTo(String value) {
            addCriterion("trainContent =", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentNotEqualTo(String value) {
            addCriterion("trainContent <>", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentGreaterThan(String value) {
            addCriterion("trainContent >", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentGreaterThanOrEqualTo(String value) {
            addCriterion("trainContent >=", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentLessThan(String value) {
            addCriterion("trainContent <", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentLessThanOrEqualTo(String value) {
            addCriterion("trainContent <=", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentLike(String value) {
            addCriterion("trainContent like", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentNotLike(String value) {
            addCriterion("trainContent not like", value, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentIn(List<String> values) {
            addCriterion("trainContent in", values, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentNotIn(List<String> values) {
            addCriterion("trainContent not in", values, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentBetween(String value1, String value2) {
            addCriterion("trainContent between", value1, value2, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainContentNotBetween(String value1, String value2) {
            addCriterion("trainContent not between", value1, value2, "trainContent");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryIsNull() {
            addCriterion("trainSummary is null");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryIsNotNull() {
            addCriterion("trainSummary is not null");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryEqualTo(String value) {
            addCriterion("trainSummary =", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryNotEqualTo(String value) {
            addCriterion("trainSummary <>", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryGreaterThan(String value) {
            addCriterion("trainSummary >", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryGreaterThanOrEqualTo(String value) {
            addCriterion("trainSummary >=", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryLessThan(String value) {
            addCriterion("trainSummary <", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryLessThanOrEqualTo(String value) {
            addCriterion("trainSummary <=", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryLike(String value) {
            addCriterion("trainSummary like", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryNotLike(String value) {
            addCriterion("trainSummary not like", value, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryIn(List<String> values) {
            addCriterion("trainSummary in", values, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryNotIn(List<String> values) {
            addCriterion("trainSummary not in", values, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryBetween(String value1, String value2) {
            addCriterion("trainSummary between", value1, value2, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andTrainSummaryNotBetween(String value1, String value2) {
            addCriterion("trainSummary not between", value1, value2, "trainSummary");
            return (Criteria) this;
        }

        public Criteria andExamModeIsNull() {
            addCriterion("examMode is null");
            return (Criteria) this;
        }

        public Criteria andExamModeIsNotNull() {
            addCriterion("examMode is not null");
            return (Criteria) this;
        }

        public Criteria andExamModeEqualTo(String value) {
            addCriterion("examMode =", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeNotEqualTo(String value) {
            addCriterion("examMode <>", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeGreaterThan(String value) {
            addCriterion("examMode >", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeGreaterThanOrEqualTo(String value) {
            addCriterion("examMode >=", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeLessThan(String value) {
            addCriterion("examMode <", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeLessThanOrEqualTo(String value) {
            addCriterion("examMode <=", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeLike(String value) {
            addCriterion("examMode like", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeNotLike(String value) {
            addCriterion("examMode not like", value, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeIn(List<String> values) {
            addCriterion("examMode in", values, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeNotIn(List<String> values) {
            addCriterion("examMode not in", values, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeBetween(String value1, String value2) {
            addCriterion("examMode between", value1, value2, "examMode");
            return (Criteria) this;
        }

        public Criteria andExamModeNotBetween(String value1, String value2) {
            addCriterion("examMode not between", value1, value2, "examMode");
            return (Criteria) this;
        }
    }

    /**
     * 承包商管理_施工人员培训表HSE_CM_TRAIN的映射实体
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * 承包商管理_施工人员培训表HSE_CM_TRAIN的动态SQL对象.
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}